Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and flash memory.
A flash memory is a type of memory that can be erased and reprogrammed in blocks instead of one byte at a time. A typical flash memory comprises a memory array, which includes a large number of memory cells. Each of the memory cells includes a floating gate field-effect transistor capable of holding a charge. The cells are usually grouped into blocks. Each of the cells within a block can be electrically programmed in a random basis by charging the floating gate. The data in a cell is determined by the presence or absence of the charge in the floating gate. The charge can be removed from the floating gate by a block erase operation.
As is well known in the art, a prior art erase operation in flash memory is typically comprised of three separate activities. The entire array is pre-programmed, the memory block is erased, and a soft programming or Vt tightening operation is performed.
The memory array to be erased is pre-programmed in order to reduce the chances of the cells going into a depletion mode. As the cells in a flash memory device get erased, they may get erased to the point where they go into depletion and conduct current even when those cells have a gate voltage of 0 V. This affects the reading of all other cells in their respective columns. By pre-programming the memory, the cells start from a known, programmed state and are therefore less likely to go into an overerased depletion state.
The erase operation is then conducted to ensure that all cells are erased to at least a minimum level. At the end of the erase operation, there is no guarantee that some cells have not been over-erased. In this case, a Vt tightening operation is performed. This operation is also referred to in the art as a soft programming operation.
The soft programming operation is a short programming pulse that is intended to pull memory cells that are depleted back into the normal population of erased cells. Vt is the gate voltage to which the memory cell is programmed. This operation may be accomplished by pulsing the cell, then checking for the erased state. This operation is repeated until all depleted cells are left with proper threshold voltages or a maximum quantity of soft programming pulses is exceeded. In the latter case, an erase error has occurred.
Performing all of these steps to erase a block of memory makes the erase operation of a flash memory device a time consuming operation. For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a faster, more efficient erase algorithm in a flash memory device.